home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / smaltalk / manchest.lha / MANCHESTER / manchester / 2.2 / BST-correction.st < prev    next >
Text File  |  1993-07-24  |  2KB  |  42 lines

  1. "    NAME        BST-correction
  2.     AUTHOR        ajb@cs.man.ac.uk
  3.     FUNCTION fix: GMT/BST clock change on right dates 
  4.     ST-VERSIONS    2.2
  5.     PREREQUISITES     
  6.     CONFLICTS    
  7.     DISTRIBUTION      world
  8.     VERSION        1.1
  9.     DATE    22 Jan 1989
  10. SUMMARY    BST-correction
  11.  
  12.     This is a corrected version of the initializeDefaultTimeZone:
  13.     method in the TimeZone class.  This version ensures that the
  14.     change from GMT to BST is made on the *correct* dates.  If you
  15.     are using this in yet another country you'll have to alter the
  16.     values again!!  If you think the values are wrong please let me
  17.     (ajb@r5) know, and I'll do a bit more thinking (It's the only
  18.     piece of code that I know that takes over six months to test
  19.     :-). (2.2)
  20. "!
  21. 'From Smalltalk-80, Version 2.2 of July 4, 1987 on 27 March 1988 at 3:51:12 pm'!
  22.  
  23.  
  24.  
  25. !TimeZone class methodsFor: 'class initialization'!
  26.  
  27. initializeDefaultTimeZone: hoursFromGMT
  28.     "Install a default TimeZone with hours offset from Greenwich mean time. The code for this has been corrected for changing to and from British Summer Time (BST)."
  29.     
  30.     "TimeZone initializeDefaultTimeZone: -8.    for California
  31.     TimeZone initializeDefaultTimeZone: -5.        for NewYork
  32.     TimeZone initializeDefaultTimeZone: 0.        for London
  33.     TimeZone initializeDefaultTimeZone: 1.        for Dortmund"
  34.  
  35.     DefaultTimeZone _ self 
  36.         timeDifference: hoursFromGMT
  37.         DST: 1                "1 hour DST"
  38.         at: 2                "starting at 2 AM"
  39.         from: 60 + 27        "on (first Sunday preceding) March 28."
  40.         to: 274 + 27.        "until (first Sunday preceding) October 28."
  41.      DefaultTimeZone weekDayToStartDST: #Sunday.! !
  42.